Anti-Forgery Tokens ব্যবহার

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) ASP.Net MVC অ্যাপ্লিকেশনের নিরাপত্তা (Security in ASP.Net MVC Applications) |
188
188

Anti-Forgery Tokens হলো একটি নিরাপত্তা পদ্ধতি, যা Cross-Site Request Forgery (CSRF) আক্রমণ থেকে অ্যাপ্লিকেশনকে রক্ষা করতে সাহায্য করে। CSRF আক্রমণে আক্রমণকারী একটি ব্যবহারকারীর ব্রাউজারে অবৈধভাবে একটি রিকোয়েস্ট পাঠাতে পারে, যা অনিচ্ছাকৃতভাবে একটি অ্যাপ্লিকেশনের পক্ষ থেকে এক্সিকিউট হয়। Anti-Forgery Tokens এই ধরনের আক্রমণ প্রতিরোধ করতে সাহায্য করে, কারণ এটি প্রতিটি রিকোয়েস্টের সাথে একটি অনন্য টোকেন চেক করে নিশ্চিত করে যে রিকোয়েস্টটি বৈধ উৎস থেকে এসেছে।

ASP.Net MVC অ্যাপ্লিকেশনে Anti-Forgery Tokens সহজেই ব্যবহার করা যায় এবং এটি ফর্ম সাবমিশন, AJAX রিকোয়েস্ট ইত্যাদির ক্ষেত্রে CSRF আক্রমণ প্রতিরোধ করতে কার্যকর।


Anti-Forgery Token কীভাবে কাজ করে?

Anti-Forgery Token দুটি মূল উপাদান নিয়ে কাজ করে:

  1. Token Generation: যখন একটি ফর্ম প্রদর্শিত হয়, তখন একটি অনন্য Anti-Forgery Token তৈরি করা হয় এবং এটি ফর্মের মধ্যে সংযুক্ত করা হয়।
  2. Token Validation: যখন ব্যবহারকারী ফর্ম সাবমিট করে, তখন সেই ফর্মের সাথে Anti-Forgery Token পাঠানো হয়। সার্ভার চেক করে যে ফর্মের টোকেনটি একই যে টোকেনটি আগে তৈরি করা হয়েছিল, তাহলে সাবমিশনটি বৈধ বলে মনে করা হয়। যদি টোকেনটি মেল না খায়, তখন রিকোয়েস্টটি বাতিল করা হয়।

ASP.Net MVC এ Anti-Forgery Token ব্যবহার

ASP.Net MVC অ্যাপ্লিকেশনে Anti-Forgery Token ব্যবহার করার জন্য, আপনি দুটি ধাপে এটি কার্যকর করতে পারেন:

  1. Token তৈরি করা: ফর্মে Anti-Forgery Token তৈরি করতে @Html.AntiForgeryToken() ব্যবহার করতে হবে।
  2. Token যাচাই করা: সেকেন্ড, কন্ট্রোলারের অ্যাকশন মেথডে [ValidateAntiForgeryToken] অ্যাট্রিবিউট ব্যবহার করে টোকেনটি যাচাই করতে হবে।

১. Anti-Forgery Token তৈরি করা

প্রথমে, আপনার ফর্মে Anti-Forgery Token তৈরি করতে হবে। এটি করতে, ফর্মের মধ্যে @Html.AntiForgeryToken() ব্যবহার করতে হবে, যেমন:

@using (Html.BeginForm("Submit", "Home", FormMethod.Post))
{
    @Html.AntiForgeryToken()  <!-- Anti-Forgery Token -->
    <label for="name">Name:</label>
    <input type="text" id="name" name="name" />

    <input type="submit" value="Submit" />
}

এখানে, @Html.AntiForgeryToken() একটি সিক্রেট টোকেন তৈরি করবে এবং এটি ফর্মের মধ্যে সংযুক্ত করবে। যখন ব্যবহারকারী এই ফর্মটি সাবমিট করবে, তখন এটি এই টোকেনটিকে সার্ভারে পাঠাবে।


২. Anti-Forgery Token যাচাই করা

এখন, কন্ট্রোলার অ্যাকশন মেথডে টোকেনটি যাচাই করতে হবে। এটি করতে, কন্ট্রোলারের অ্যাকশনে [ValidateAntiForgeryToken] অ্যাট্রিবিউট ব্যবহার করতে হবে।

[HttpPost]
[ValidateAntiForgeryToken]  // Validate Anti-Forgery Token
public ActionResult Submit(string name)
{
    // টোকেনটি যদি বৈধ হয়, তাহলে এই কোডটি চলবে
    ViewBag.Message = $"Hello, {name}!";
    return View();
}

এখানে, Submit অ্যাকশন মেথডে [ValidateAntiForgeryToken] অ্যাট্রিবিউট ব্যবহার করা হয়েছে, যা টোকেনটি সার্ভারে পাঠানো টোকেনের সাথে তুলনা করবে। যদি টোকেনটি সঠিক না হয়, তাহলে একটি HttpAntiForgeryException ত্রুটি ঘটবে এবং রিকোয়েস্টটি বাতিল হয়ে যাবে।


AJAX রিকোয়েস্টের ক্ষেত্রে Anti-Forgery Token ব্যবহার

ASP.Net MVC অ্যাপ্লিকেশনগুলিতে AJAX রিকোয়েস্টে Anti-Forgery Token পাঠানো কিছুটা ভিন্ন। আপনাকে টোকেনটি AJAX রিকোয়েস্টের হেডারে যোগ করতে হবে। এটি করতে, আপনার AJAX রিকোয়েস্টের হেডারে Anti-Forgery Token যুক্ত করতে পারেন:

<script>
    $(document).ready(function () {
        // AJAX রিকোয়েস্টের হেডারে Anti-Forgery Token যুক্ত করা
        var token = $('input[name="__RequestVerificationToken"]').val();
        
        $.ajax({
            url: '@Url.Action("Submit", "Home")',
            type: 'POST',
            data: { name: 'John Doe' },
            headers: {
                'RequestVerificationToken': token
            },
            success: function (response) {
                alert(response);
            }
        });
    });
</script>

এখানে, __RequestVerificationToken ইনপুট ফিল্ডের মান নেওয়া হচ্ছে এবং এটি AJAX রিকোয়েস্টের হেডারে পাঠানো হচ্ছে।

এটি AJAX রিকোয়েস্টের জন্য Anti-Forgery Token ব্যবহার করতে সহায়ক।


Anti-Forgery Token-এর সুবিধা

  • CSRF আক্রমণ থেকে রক্ষা: Anti-Forgery Tokens CSRF আক্রমণ থেকে অ্যাপ্লিকেশনকে রক্ষা করতে সহায়ক।
  • নিরাপত্তা: এটি ইউজারের ব্রাউজার থেকে একটি বৈধ রিকোয়েস্ট নিশ্চিত করতে সাহায্য করে।
  • সহজ বাস্তবায়ন: ASP.Net MVC এ Anti-Forgery Token ব্যবহার করা খুবই সহজ এবং প্রাথমিক পর্যায়ে নিরাপত্তা সংক্রান্ত প্রয়োজনীয়তা পূরণ করে।

সারমর্ম

ASP.Net MVC অ্যাপ্লিকেশনে Anti-Forgery Tokens ব্যবহার করা একটি গুরুত্বপূর্ণ নিরাপত্তা ব্যবস্থা, যা Cross-Site Request Forgery (CSRF) আক্রমণ প্রতিরোধ করতে সহায়ক। @Html.AntiForgeryToken() এবং [ValidateAntiForgeryToken] ব্যবহার করে ফর্ম সাবমিশন এবং AJAX রিকোয়েস্টে টোকেন যাচাই করা যায়। এটি অ্যাপ্লিকেশনকে নিরাপদ রাখতে এবং ব্যবহারকারীদের ডেটার সুরক্ষা নিশ্চিত করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion